Scans as Primitive Parallel Operations
نویسنده
چکیده
AbstmctIn most parallel random access machine (PRAM) models, memory references are assumed to take unit time. In practice, and in theory, certain scan operations, also known as prefix computations, can execute in no more time than these parallel memory references. This paper outlines an extensive study of the effect of including, in the PRAM models, such scan operations as unit-time primitives. The study concludes that the primitives improve the asymptotic running time of many algorithms by an O(log n) factor greatly simplify the description of many algorithms, and are significantly easier to implement than memory references. We therefore argue that the algorithm designer should feel free to use these operations as if they were as cheap as a memory reference. This paper describes five algorithms that clearly illustrate how the scan primitives can be used in algorithm design: a mdixsort algorithm, a quicksort algorithm, a minimum-spanning-trae algorithm, a line-dmwing algorithm, and a merging algorithm. These all run on an EREW PRAM with the addition of two scan primitives, and are either simpler or more efficient than their pure PRAM counterparts. The scan primitives have been implemented in microcode on the Connection Machine System, are available in PARIS (the parallel instruction set of the machine), and are used in a large number of applications. All five algorithms have been tested, and the radix sort is the currently supported sorting algorithm for the Connection Machine.
منابع مشابه
Programming Research Group PRIMITIVE OPERATIONS ON THE BSP MODEL
The design of a complex algorithm relies heavily on a set of primitive operations and the instruments required to compile these operations into an algorithm. In this work, we examine some of these basic primitive operations and present algorithms that are suitable for the Bulk-Synchronous Parallel model. In particular, we consider algorithms for the following primitive operations: broadcasting,...
متن کاملOptimizing Parallel Prefix Operations for the Fermi Architecture 3
The NVIDIA Fermi GPU architecture introduces new instructions designed to facilitate basic, but important, parallel primitives on per-thread predicates, as well as instructions for manipulating and querying bits within a word. This chapter demonstrates the application of these instructions in the construction of efficient parallel algorithm primitives such as reductions, scans, and segmented sc...
متن کاملA fixed and flexible maintenance operations planning optimization in a parallel batch machines manufacturing system
Scheduling has become an attractive area for artificial intelligence researchers. On other hand, in today's real-world manufacturing systems, the importance of an efficient maintenance schedule program cannot be ignored because it plays an important role in the success of manufacturing facilities. A maintenance program may be considered as the heath care of manufacturing machines and equipments...
متن کاملParallel Algorithms for J Programming Language Primitives
A two phase research project is proposed involving the modeling and implementation of parallel algorithms for the primitive operations which constitute the J programming language. Subject Areas: Modeling Parallel Computation J Programming Language, Parallel Computation.
متن کاملOptimizing Data Parallel Operations on Many-Core Platforms
Data parallel operations are widely used in game, multimedia, physics and data-intensive and scientific applications. Unlike control parallelism, data parallelism comes from simultaneous operations across large sets of collection-oriented data such as vectors and matrices. A simple implementation can use OpenMP directives to execute operations on multiple data concurrently. However, this implem...
متن کامل